This invention relates generally to graphical user interfaces displayed on display screens, such as point-of-sale (POS) display screens. In particular, the present invention relates to advantageous methods for automating the process of designing, creating, updating and error checking graphical user interfaces (GUIs). The present invention utilizes automation techniques that directly link a screen interface design document, such as a Microsoft(copyright) Word document, with a runtime system by automating the storage of information that is encoded within an external interface file.
The DynaKey(trademark) is a POS peripheral device that provides the functionality of a keyboard input device and an output display combined in one physical package. The DynaKey(trademark) has eight physical keys that are positioned along the right-hand side of an LCD screen. The DynaKey(trademark) GUI associates each of these keys with an icon displayed to the immediate left of each physical key on the LCD screen. The icon that is displayed may be composed of a text label as well as a pictoral element, and may change with each new screen displayed on the LCD. These physical keys are known as DynaKeys(trademark) due to this dynamic characteristic of the key""s programmed function. The DynaKey(trademark) also has other physical keys called global keys that are utilized primarily for switching from one group of screens to the first screen of another group. Additionally, the DynaKey(trademark) has a numeric keypad that is utilized for data input, as well as two cursor keys that are utilized for scrolling through displayed screen data. The software utilized to program the DynaKey(trademark) may be independent of the POS application itself, and is available from many sources under different names. One such object-oriented software product is the Advanced Store User Interface (ASUI). ASUI is easily incorporated into a Microsoft(copyright) Visual C++(trademark) dialog-based program, and utilizes four common pre-defined retail screen design forms. Each form consists of a screen layout with controls for a title block, an instruction block, a prompt block, an input block, an electronic receipt block, a total""s block and a status line block. The size and shape of each of these blocks is programmable, and occupy the left side of the screen layout. The right side of each screen layout contains the DynaKey(trademark) text label and an icon for each of the eight DynaKeys(trademark).
The development of a new POS application utilizing the DynaKey(trademark) may require the design of hundreds of new screen layouts based upon the complexities of the POS application. The design of these screens, or GUI, involve combining the functional requirements of the application logic with visual design considerations that affect the application""s usability. The design and maintenance of a POS application is an iterative process that may involve frequent changes to constant or variable text in individual or multiple screens, the addition of new screens, and changes to the branching between screens. Existing methods for designing DynaKey(trademark)-enabled POS applications are subject to errors because the visual screen designers and software engineers typically work in parallel to develop the POS application. Such errors are compounded as the POS application evolves through multiple prototype and production level iterations.
DynaKey(trademark) GUI design has become much simpler and efficient with the use of Microsoft(copyright) Word 7.0. For example, a screen designer can now navigate from one screen to another quickly and easily. This is done via branching, and is implemented by utilizing hypertext links that are embedded within the screen design document, and that allow quick navigation from one screen to another. Such methods are disclosed by U.S. Pat. No. 5,920,312 entitled xe2x80x9cSystem and Method for Building, Testing and Integrating a Graphical User Interfacexe2x80x9d which describes a system that utilizes a builder program, a tester program, and a runtime system that automates many of the operations required to develop DynaKey(trademark)-enabled POS application programs.
The present invention recognizes that there exists a need in a variety of contexts for a system and method for creating and updating display screens for use with a DynaKey(trademark). Such a method should advantageously allow display screens to be created by data-mining screen design documents written utilizing a word processor such as Microsoft(copyright) Word, and utilizing the data-mined information to either create or update an existing graphical user interface file.
The method of data-mining is totally integrated by first invoking Microsoft(copyright) Word through the selection of an appropriate menu item within the Microsoft(copyright) Visual C++(trademark) dialog-based program. After data-mining the screen design document, the Word document is closed, a second menu item is chosen for either creating or updating the interface file utilizing the data from the data-mined screen design document. Several advantages result from this process. First, Microsoft(copyright) Word provides a macro language called Visual Basic for Applications (VBA) that can be used to extract information before it is written to an external file. The VBA environment includes its own editor, and allows a user to utilize the macro-recorder to obtain VBA segments automatically. Second, an existing target language already exists for representing the external DynaKey(trademark) interface design abstractly, and this work can serve as a starting point for finding the necessary and sufficient abstraction. For example, this language encompasses entry level logic (ELL) function designation and screen branching for Dyakeys(trademark), peripheral input/output devices, and the  less than Enter greater than  key. These functions are described in U.S. Pat. No. 5,920,312 entitled xe2x80x9cSystem and Method for Building, Testing and Integrating a Graphical DynaKey(trademark) User Interfacexe2x80x9d. However, prior work in this area does not provide methods related to utilizing external file information relative to other global keys. Third, a new design document is disclosed in the present invention that enables visual screen designers to specify all the essential DynaKey(trademark) screen information without requiring those individuals to possess or utilize computer programming skills.
It is an object of the present invention that the method of creating and updating the GUI file includes the step of utilizing rules to manipulate text statements that may contain too many characters or lines. A further object of the creating/updating process is to provide the user with warning and error messages via list boxes and optional printed text, as well as a log of update modifications and other useful information.
A further object of the present invention is to expand the external interface file capability to include ELL functions and branching for all of the static keys rather than just the  less than Enter greater than  global key.
A further object of the present invention is to automate the process of specifying, within the screen design document, whether or not a given static key may be utilized for any given screen.
A further object of the present invention is to automate both the creation and modification of the screen set file (*.key), rather than the manual method of creating the screen set file utilizing a simple text editor as utilized by the prior art.
A final object of the present invention is to allow both the prototype dummy ELL and the production ELL function designations to co-exist in the external interface file such that the execution of the runtime system  less than R greater than  permits total screen navigation and conditional variable text decoding. This holds true for the initial prototype where the ELL functions are protoype dummy ELL functions.
A more complete understanding of the present invention, as well as other features and advantages of the invention will be apparent from the following detailed description and the accompanying drawings.